export interface TableColumn {
  prop: string
  label: string
  width?: number | string
  align?: 'left' | 'center' | 'right'
  fixed?: boolean | 'left' | 'right'
  sortable?: boolean
  formatter?: (row: any, column: TableColumn, cellValue: any) => string
  children?: TableColumn[]
}

export interface PaginationProps {
  total: number
  currentPage: number
  pageSize: number
  pageSizes?: number[]
  layout?: string
}

export interface BasicTableProps {
  columns: TableColumn[]
  data: any[]
  loading?: boolean
  border?: boolean
  stripe?: boolean
  pagination?: PaginationProps
  // 是否显示序号列
  showIndex?: boolean
  // 是否显示选择列
  showSelection?: boolean
  // 是否显示操作列
  showOperation?: boolean
  // 是否显示表头
  showHeader?: boolean
  // 是否显示表格底部合计行
  showSummary?: boolean
  // 表格高度
  height?: string | number
  // 表格最大高度
  maxHeight?: string | number
} 